﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Windows.Forms;

public partial class Pages_Default : System.Web.UI.Page
{
    protected bool primerLoad = true;
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["adminLogged"];
        if (cookie == null)
        {
            Response.Redirect("loginError.aspx");
        }

        if (primerLoad)
        {
            bActualizar.Visible = false;
            bEliminar.Visible = false;
            primerLoad = false;
            lblNombreVacio.Visible = false;
            lblDescripcionVacio.Visible = false;
        }

    }

    protected string mensaje(string mensaje, string titulo, MessageBoxButtons botones, MessageBoxIcon icono)
    {
        DialogResult resultado = MessageBox.Show(mensaje, titulo, botones, icono);
        if (resultado == DialogResult.Yes) return "yes";
        else if (resultado == DialogResult.No) return "no";
        else return "otro";
    }

    protected void resetCampos()
    {
        tbNombre.Text = "";
        tbDescripcion.Text = "";
    }
    protected bool existenCamposVacios()
    {
        bool resultado = false;
        if (tbNombre.Text == "") { resultado = true; lblNombreVacio.Visible = true; }
        else lblNombreVacio.Visible = false;
        if (tbDescripcion.Text == "") { resultado = true; lblDescripcionVacio.Visible = true; }
        else lblDescripcionVacio.Visible = false;
        return resultado;
    }

    protected void setBotonesNuevo()
    {
        resetCampos();
        bIngresar.Visible = true;
        bActualizar.Visible = false;
        bEliminar.Visible = false;
        tbNombre.Enabled = true;
    }


    protected string verificarRut(string rutString)
    {
        int rut = int.Parse(rutString);
        int Digito;
        int Contador;
        int Multiplo;
        int Acumulador;
        string RutDigito;

        Contador = 2;
        Acumulador = 0;

        while (rut != 0)
        {
            Multiplo = (rut % 10) * Contador;
            Acumulador = Acumulador + Multiplo;
            rut = rut / 10;
            Contador = Contador + 1;
            if (Contador == 8)
            {
                Contador = 2;
            }

        }

        Digito = 11 - (Acumulador % 11);
        RutDigito = Digito.ToString().Trim();
        if (Digito == 10)
        {
            RutDigito = "K";
        }
        if (Digito == 11)
        {
            RutDigito = "0";
        }
        return (RutDigito);
    }








    protected void bIngresar_Click(object sender, EventArgs e)
    {
        if (!existenCamposVacios())
        {
            string confirme = "Esta seguro de ingresar la maquina con los siguientes datos:\n\nNombre = " + tbNombre.Text + " \nDescripcion = " + tbDescripcion.Text + "\n ";
            string respuesta = mensaje(confirme, "CONFIRME EL INGRESO", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (respuesta.CompareTo("yes") == 0)
            {
                TipoMaquinaBLL tipomaqbll = new TipoMaquinaBLL();
                int filasAfectadas = tipomaqbll.insertarTipoMaquina(tbNombre.Text,tbDescripcion.Text);

                if (filasAfectadas > 0) mensaje("Tipo de maquina ingresada exitosamente", "EXITO!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                else mensaje("Ocurrio un error. Vuelva a intentar.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);

                gvTiposMaquina.DataBind();
                setBotonesNuevo();
            }
        }
    }
    protected void bActualizar_Click(object sender, EventArgs e)
    {
        if (!existenCamposVacios())
        {
            string confirme = "Esta seguro de ingresar la maquina con los siguientes datos:\n\nNombre = " + tbNombre.Text + " \nDescripcion = " + tbDescripcion.Text + "\n ";
            string respuesta = mensaje(confirme, "CONFIRME EL INGRESO", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (respuesta.CompareTo("yes") == 0)
            {
                TipoMaquinaBLL tipomaqbll = new TipoMaquinaBLL();
                int filasAfectadas = tipomaqbll.actualizarTipoMaquina(tbNombre.Text, tbDescripcion.Text);

                if (filasAfectadas > 0) mensaje("Tipo de maquina actualizada exitosamente", "EXITO!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                else mensaje("Ocurrio un error. Vuelva a intentar.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);

                gvTiposMaquina.DataBind();
                setBotonesNuevo();
            }
        }
    }
    protected void bEliminar_Click(object sender, EventArgs e)
    {
        string confirme = "Esta seguro de ingresar la maquina con los siguientes datos:\n\nNombre = " + tbNombre.Text + " \nDescripcion = " + tbDescripcion.Text + "\n ";
        string respuesta = mensaje(confirme, "CONFIRME EL INGRESO", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
        if (respuesta.CompareTo("yes") == 0)
        {
            TipoMaquinaBLL tipomaqbll = new TipoMaquinaBLL();
            int filasAfectadas = tipomaqbll.eliminarTipoMaquina(tbNombre.Text);

            if (filasAfectadas > 0) mensaje("Tipo de maquina eliminada exitosamente", "EXITO!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            else mensaje("Ocurrio un error. Vuelva a intentar.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);

            gvTiposMaquina.DataBind();
            setBotonesNuevo();
        }
    }
    protected void bNuevo_Click(object sender, EventArgs e)
    {
        setBotonesNuevo();
    }

    protected void gvTiposMaquina_SelectedIndexChanged(object sender, EventArgs e)
    {
        DataKey key = gvTiposMaquina.SelectedDataKey;
        string tipoMaquina = (string)key.Value;

        TipoMaquinaBLL tipomaqbll = new TipoMaquinaBLL();
        DataSetCarpay.TIPO_MAQUINADataTable dt = tipomaqbll.getTipoMaquina(tipoMaquina);
        tbNombre.Text = tipoMaquina;
        tbDescripcion.Text = (string)dt.Rows[0][dt.DESCRIPCION_TIPO_MAQUINAColumn];

        tbNombre.Enabled = false;
        bIngresar.Visible = false;
        bActualizar.Visible = true;
        bEliminar.Visible = true;
    }
    protected void bBuscar_Click(object sender, EventArgs e)
    {

    }
}
